﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using DevExpress.Utils;
using System.IO;

namespace PMS.Resources
{
    public class Constants
    {
        #region Message ResourceKey

        public const String TITLE_CONFIRM_MESSAGE = "TitleConfirmMessage";
        public const String CANCEL_CONFIRM_MESSAGE = "CancelConfirmMessage";
        public const String NEW_CONFIRM_MESSAGE = "NewConfirmMessage";
        public const String SAVE_CONFIRM_MESSAGE = "SaveConfirmMessage";
        public const String SAVE_SUCESSFUL_MESSAGE = "SaveSuccessful";
        public const String REQUIRE_MESSAGE = "RequireMessage";
        public const String IS_NOT_VALID_DATE = "IsInvalidDate";
        public const String IS_NOT_VALID_DATE_RANGE = "IsInvalidDateRange";
        public const String IS_NOT_VALID_YEAR = "IsInvalidYear";
        public const String CANNOT_DELETE = "CannotDelete";
        public const String CANNOT_DELETE_IS_USED = "DataIsUsed";
        public const String GEN_SAVE_SUCCESSFULLY = "GEN_SAVE_SUCCESSFULLY";
        public const String GEN_DELETE_SUCCESSFULLY = "GEN_DELETE_SUCCESSFULLY";
        public const String GEN_CONFIRM_DELETE = "GEN_CONFIRM_DELETE";
        public const String GEN_INCORRECT_DATETIME = "GEN_INCORRECT_DATETIME";
        public const String GEN_SELECT_ITEM_TO_PROCESS = "GEN_SELECT_ITEM_TO_PROCESS";
        public const String NEW = "New";
        public const String SAVE_SUCESSFULLY = "GEN_SAVE_SUCCESSFULLY";
        public const String DELETE_SUCESSFULLY = "GEN_DELETE_SUCCESSFULLY";
        public const String NUMBER_EDIT_MASK = "[0-9]{0,10}";
        public const int MAX_LENGTH_100 = 100;
        public const int MAX_LENGTH_8 = 8;
        public const int MAX_LENGTH_4 = 4;
        public const String REQUIRE_FIELD = "GEN_REQUIRED_FIELD";
        public const String DOES_NOT_EXIST = "GEN_NOT_EXIST_CODE";
        public const string OLD_PASSWORD_INCORRECT = "OldPasswordIncorrect";
        public const string CONFIRM_PASSWORD_INCORRECT = "ConfirmPasswordIncorrect";

        public const int MIN_YEAR = 2000;
        public const int MAX_YEAR = 9999;
        public const int MIN_WEEK_RANGE = 7;

        #endregion

        #region Resource Files

        public const String RESX_FILE_DMSLITE_WINDOW_WINDOWRESOURCE = "DMSLite.Window.WindowResource";

        #endregion

        #region Assemblies
        public const String ASSEMBLY_DMSLITE_WINDOW = "DMSLite.Window";
        #endregion

        public  const int INDICATOR_WIDTH = 40;
        public static String MAIN_MENU_FILE_FOLDER = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Resources/Menu/");
        public const String MAIN_MENU_FILE_NAME = "MainMenu";

        public static String FUNCTION_MENU_FILE_FOLDER = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Resources/Menu/");
        public const String FUNCTION_MENU_FILE_NAME = "FunctionMenu";

        public const String XML = "xml";
        public const int page = 1;
        public const int pageSize = 1000;
        public const String DS_VANSALES = "DS_VanSales";

        public static DateTime BUSINESS_DATE = DateTime.Now;
        public static DateTime MIN_DATE = new DateTime(1978, 1, 1);

        public static DateTime FIRST_DAY_OF_CURRENT_MONTH
        {
            get
            {
                return new DateTime(BUSINESS_DATE.Year, BUSINESS_DATE.Month, 1);
            }
        }

        public static DateTime LAST_DAY_OF_CURRENT_MONTH
        {
            get
            {
                return new DateTime(BUSINESS_DATE.Year, BUSINESS_DATE.Month, DateTime.DaysInMonth(BUSINESS_DATE.Year, BUSINESS_DATE.Month));
            }
        }

        public static Color REQUIRE_COLOR = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192)))));
        public static Color NORMAL_COLOR = Color.White;
        public static Color READ_ONLY_COLOR = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(245)))), ((int)(((byte)(247)))));        
        public static Color MDI_BACKGROUND_COLOR = System.Drawing.Color.FromArgb(((int)(((byte)(195)))), ((int)(((byte)(226)))), ((int)(((byte)(247)))));
        public static Color BACKGROUND_COLOR = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(236)))), ((int)(((byte)(239)))));
        public static KeyShortcut CLOSEUP_KEY = new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.F3);
        public static string MDI_LOGO_FILE_NAME = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Resources/Icons/DMSLogo.png");
        public static string ALERT_LOGO = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Resources/Icons/dms.png");
        public static string QUICKLINK_IMAGE_FILE_NAME = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Resources/Icons/star.png");
        public static string REPORT_LOGO = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Resources\Icons\DMSDistributorLogo.jpg");
    }
}
